package com.cruise.game.service.admin;

import com.cruise.game.model.param.admin.UserStatusParam;
import com.cruise.game.model.vo.admin.UserDetailVO;
import com.cruise.game.model.vo.admin.UserListVO;
import com.cruise.game.model.vo.common.PageResult;

/**
 * 管理员用户服务接口
 * 
 * @author cruise
 * @date 2025-02-28
 */
public interface AdminUserService {

    /**
     * 获取用户列表
     *
     * @param role 角色
     * @param status 状态
     * @param keyword 关键词
     * @param page 页码
     * @param pageSize 每页条数
     * @return 用户列表
     */
    PageResult<UserListVO> getUserList(String role, String status, String keyword, Integer page, Integer pageSize);

    /**
     * 获取用户详情
     *
     * @param userId 用户ID
     * @return 用户详情
     */
    UserDetailVO getUserDetail(Long userId);

    /**
     * 更新用户状态
     *
     * @param userId 用户ID
     * @param param 状态参数
     * @return 是否成功
     */
    boolean updateUserStatus(Long userId, UserStatusParam param);
}
